/**       
 * @{#} PoolableObjectFactory.java Create on 2012-3-29 下午12:29:19       
 *       
 * Copyright (c) 2012 by able.       
 */
package __javable.core.util.pool;

/** 
 *  
 * 
 * @history 
 * <PRE> 
 * --------------------------------------------------------- 
 * VERSION       DATE            BY       CHANGE/COMMENT 
 * --------------------------------------------------------- 
 * 1.0           2012-3-29      able         create 
 * --------------------------------------------------------- 
 * </PRE> 
 * 
 */
public interface PoolableObjectFactory<T> {
	
	  T makeObject() throws Exception;

	  void destroyObject(T obj) throws Exception;

	  boolean validateObject(T obj);

	  void activateObject(T obj) throws Exception;

	  void passivateObject(T obj) throws Exception;
}
